package com.yugao.fintech.draper.admin.service;

import cn.hutool.core.lang.Dict;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yugao.fintech.draper.admin.param.FileInfoVO;
import com.yugao.fintech.draper.admin.param.FileQuery;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.http.HttpServletResponse;
import java.util.List;

public interface FileService {

	/**
	 * 上传文件
	 */
	Dict uploadFile(MultipartFile file);

	/**
	 * 修改
	 */
	Boolean updateFile(FileInfoVO fileInfoVO);

	/**
	 * 分页
	 */
	IPage<FileInfoVO> pageQuery(FileQuery fileQuery);

	/**
	 * 获取单条
	 */
	FileInfoVO findById(Long id);

	/**
	 * 获取全部
	 */
	List<FileInfoVO> findAll();

	/**
	 * 删除
	 */
	Boolean deleteFile(Long id);

	/**
	 * 下载文件
	 * @param bucket 桶名称
	 * @param fileName 文件名
	 * @param response 响应
	 */
	void getFile(String bucket, String fileName, HttpServletResponse response);

}